diff --git a/system/core/Router.php b/system/core/Router.php
index cb7df53..727e85f 100644
--- a/system/core/Router.php
+++ b/system/core/Router.php
@@ -380,16 +380,35 @@
 			// Does the RegEx match?
 			if (preg_match('#^'.$key.'$#', $uri))
 			{
-				// Are we using php functions to process matches?
-				$modifier = strpos($val, $this->route_prepend) === 0? 'e': '';
+				// Are we using a callback?
+				$callable = is_callable($val);
+
+				// Determine the appropriate preg_replace to use.
+				$preg_replace_type = $callable? 'preg_replace_callback': 'preg_replace';
+
+				// Are we using the route_prepend to change how we process the matches?
+				$modifier = (is_string($val) AND strpos($val, $this->route_prepend) === 0)? 'e': '';
 				
-				// If we have the 'e' modifier, remove the prepend from the route value.
-				$val = $modifier === 'e'? substr($val, strlen($this->route_prepend)): $val;
+				// Are we using callbacks to process the matches?
+				if($callable){
+					$val = function($matches)use($val){
+						// Remove the string we are matching against from the matches array.
+						array_shift($matches);
+
+						// Distribute the matches to the arguments of the user's callback.
+						return call_user_func_array($val, $matches); 
+					};
+				}
+				else 
+				{
+					// Remove the "php:" portion of the string if it exists.
+					$val = $modifier === 'e'? substr($val, strlen($this->route_prepend)): $val;
+				}
 				
 				// Do we have a back-reference?
-				if (strpos($val, '$') !== FALSE && strpos($key, '(') !== FALSE)
+				if ($callable OR (strpos($val, '$') !== FALSE && strpos($key, '(') !== FALSE))
 				{
-					$val = preg_replace('#^'.$key.'$#'.$modifier, $val, $uri);
+					$val = call_user_func($preg_replace_type, '#^'.$key.'$#'.$modifier, $val, $uri);
 				}
 
 				return $this->_set_request(explode('/', $val));
